home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / include / RCS / stdlib.h,v < prev    next >
Encoding:
Text File  |  1991-12-05  |  15.6 KB  |  745 lines

  1. head     1.21;
  2. branch   ;
  3. access   ;
  4. symbols  sprited:1.18.1;
  5. locks    ; strict;
  6. comment  @ * @;
  7.  
  8.  
  9. 1.21
  10. date     91.12.05.10.44.35;  author ouster;  state Exp;
  11. branches ;
  12. next     1.20;
  13.  
  14. 1.20
  15. date     91.10.26.17.27.04;  author rab;  state Exp;
  16. branches ;
  17. next     1.19;
  18.  
  19. 1.19
  20. date     91.09.24.17.38.46;  author rab;  state Exp;
  21. branches ;
  22. next     1.18;
  23.  
  24. 1.18
  25. date     90.11.27.11.24.17;  author ouster;  state Exp;
  26. branches 1.18.1.1;
  27. next     1.17;
  28.  
  29. 1.17
  30. date     90.11.15.13.22.21;  author rab;  state Exp;
  31. branches ;
  32. next     1.16;
  33.  
  34. 1.16
  35. date     90.11.06.17.21.08;  author rab;  state Exp;
  36. branches ;
  37. next     1.15;
  38.  
  39. 1.15
  40. date     90.09.20.15.04.17;  author mgbaker;  state Exp;
  41. branches ;
  42. next     1.14;
  43.  
  44. 1.14
  45. date     90.09.12.15.24.45;  author shirriff;  state Exp;
  46. branches ;
  47. next     1.13;
  48.  
  49. 1.13
  50. date     90.09.11.14.40.09;  author kupfer;  state Exp;
  51. branches ;
  52. next     1.12;
  53.  
  54. 1.12
  55. date     90.01.06.13.45.29;  author rab;  state Exp;
  56. branches ;
  57. next     1.11;
  58.  
  59. 1.11
  60. date     89.07.11.17.26.56;  author nelson;  state Exp;
  61. branches ;
  62. next     1.10;
  63.  
  64. 1.10
  65. date     89.04.06.10.08.11;  author rab;  state Exp;
  66. branches ;
  67. next     1.9;
  68.  
  69. 1.9
  70. date     89.03.27.22.23.08;  author jhh;  state Exp;
  71. branches ;
  72. next     1.8;
  73.  
  74. 1.8
  75. date     88.07.28.12.00.40;  author ouster;  state Exp;
  76. branches ;
  77. next     1.7;
  78.  
  79. 1.7
  80. date     88.07.25.14.17.55;  author ouster;  state Exp;
  81. branches ;
  82. next     1.6;
  83.  
  84. 1.6
  85. date     88.07.25.13.07.59;  author ouster;  state Exp;
  86. branches ;
  87. next     1.5;
  88.  
  89. 1.5
  90. date     88.07.25.11.06.56;  author ouster;  state Exp;
  91. branches ;
  92. next     1.4;
  93.  
  94. 1.4
  95. date     88.07.25.10.48.39;  author ouster;  state Exp;
  96. branches ;
  97. next     1.3;
  98.  
  99. 1.3
  100. date     88.07.22.15.40.01;  author ouster;  state Exp;
  101. branches ;
  102. next     1.2;
  103.  
  104. 1.2
  105. date     88.07.18.11.07.30;  author ouster;  state Exp;
  106. branches ;
  107. next     1.1;
  108.  
  109. 1.1
  110. date     88.06.21.09.36.58;  author ouster;  state Exp;
  111. branches ;
  112. next     ;
  113.  
  114. 1.18.1.1
  115. date     91.09.25.16.51.03;  author kupfer;  state Exp;
  116. branches ;
  117. next     ;
  118.  
  119.  
  120. desc
  121. @@
  122.  
  123.  
  124. 1.21
  125. log
  126. @Removed "setenv" declaration:  it doesn't really belong here.
  127. @
  128. text
  129. @/*
  130.  * stdlib.h --
  131.  *
  132.  *    Declares facilities exported by the "stdlib" portion of
  133.  *    the C library.
  134.  *
  135.  * Copyright 1988 Regents of the University of California
  136.  * Permission to use, copy, modify, and distribute this
  137.  * software and its documentation for any purpose and without
  138.  * fee is hereby granted, provided that the above copyright
  139.  * notice appear in all copies.  The University of California
  140.  * makes no representations about the suitability of this
  141.  * software for any purpose.  It is provided "as is" without
  142.  * express or implied warranty.
  143.  *
  144.  * $Header: /sprite/src/lib/include/RCS/stdlib.h,v 1.20 91/10/26 17:27:04 rab Exp Locker: ouster $ SPRITE (Berkeley)
  145.  */
  146.  
  147. #ifndef _STDLIB
  148. #define _STDLIB
  149.  
  150. /* 
  151.  * sprite.h is needed for typedefs that are used in some function
  152.  * prototypes.  Unfortunately, some user programs define conflicting
  153.  * typedefs.  Because many programs probably include stdlib.h, we
  154.  * should give advance warning before forcing users to use the
  155.  * typedefs from sprite.h.  This must be done before we can turn on
  156.  * function prototypes for Sprite user programs.  (Or, change the 
  157.  * prototypes so that they don't use the Sprite typedefs.)
  158.  */
  159. #include <cfuncproto.h>
  160.  
  161. #ifdef KERNEL
  162. #include <sprite.h>
  163. #include <sys/types.h>
  164. #endif
  165.  
  166. #define EXIT_SUCCESS    0
  167. #define EXIT_FAILURE    1
  168.  
  169. #if defined(_HAS_PROTOTYPES) && !defined(_SIZE_T)
  170. #define _SIZE_T
  171. /* size_t is also defined in sys/types.h, stddef.h, and unistd.h. */
  172. typedef    int    size_t;
  173. #endif
  174.  
  175. /*
  176.  *----------------------------
  177.  * String conversion routines:
  178.  *----------------------------
  179.  */
  180.  
  181. _EXTERN double     atof _ARGS_((_CONST char *string));
  182. _EXTERN int     atoi _ARGS_((_CONST char *string));
  183. _EXTERN long int atol _ARGS_((_CONST char *string));
  184. _EXTERN double     strtod _ARGS_((_CONST char *string, char **endPtr));
  185. _EXTERN long int strtol _ARGS_((_CONST char *string, char **endPtr, int base));
  186. _EXTERN unsigned long int
  187.         strtoul _ARGS_((_CONST char *string, char **endPtr, int base));
  188.  
  189. /*
  190.  *------------------
  191.  * Memory allocator:
  192.  *------------------
  193.  */
  194.  
  195. /* 
  196.  * (Many of the "char *"s should be "Address".  See the above comments 
  197.  * about sprite.h.)
  198.  */
  199.  
  200. #ifdef KERNEL
  201.  
  202. _EXTERN Address    malloc _ARGS_((unsigned int bytesNeeded));
  203.  
  204. /*
  205.  * The mips compiler cannot handle some coercions on the left hand side.
  206.  */
  207. #ifndef mips
  208.  
  209. _EXTERN void    _free _ARGS_((Address blockPtr));
  210.  
  211. #ifdef lint
  212. #define        free(ptr) _free(ptr)
  213. #else
  214. #define        free(ptr) {_free(ptr); (ptr) = (Address) NIL; }
  215. #endif /* lint */
  216.  
  217. #else /* mips */
  218.  
  219. _EXTERN int    free _ARGS_((Address blockPtr));
  220.  
  221. #endif /* mips */
  222.  
  223. #else /* KERNEL */
  224.  
  225. _EXTERN _VoidPtr    malloc _ARGS_((unsigned int bytesNeeded));
  226. _EXTERN int    free _ARGS_((_VoidPtr blockPtr));
  227.  
  228. #endif /* KERNEL */
  229.  
  230. _EXTERN _VoidPtr calloc _ARGS_((unsigned int numElems, unsigned int elemSize));
  231. _EXTERN _VoidPtr    realloc _ARGS_((_VoidPtr ptr, unsigned int newSize));
  232. _EXTERN void    Mem_Bin _ARGS_((int numBytes));
  233. _EXTERN char *    Mem_CallerPC();
  234. _EXTERN void    Mem_DumpTrace _ARGS_((int blockSize));
  235. _EXTERN void    Mem_PrintConfig _ARGS_((void));
  236. _EXTERN void    Mem_PrintInUse _ARGS_((void));
  237. _EXTERN void    Mem_PrintStats _ARGS_((void));
  238. _EXTERN void    Mem_PrintStatsInt _ARGS_((void));
  239. /* 
  240.  * The "proc" argument to Mem_SetPrintProc is a varargs function, 
  241.  * so we have delayed declaring the correct prototype for it.
  242.  */
  243. _EXTERN void    Mem_SetPrintProc _ARGS_((void (*proc)(), ClientData data));
  244. _EXTERN int    Mem_Size _ARGS_((Address blockPtr));
  245.  
  246. /*
  247.  * Structure used to set up memory allocation traces.
  248.  */
  249.  
  250. typedef struct {
  251.     int        size;    /* Size of block to trace. */
  252.     int        flags;    /* Flags defined below */
  253. } Mem_TraceInfo;
  254.  
  255. _EXTERN void    Mem_SetTraceSizes _ARGS_((int numSizes,
  256.                       Mem_TraceInfo *arrayPtr));
  257. /*
  258.  * Flags to determine what type of tracing to do.
  259.  *
  260.  *    MEM_PRINT_TRACE        A trace record will be printed each time that
  261.  *                an object of this size is alloc'd or freed.
  262.  *    MEM_STORE_TRACE        The number of blocks in use by each caller
  263.  *                up to a predefined maximum number of callers
  264.  *                is kept in a trace array .
  265.  *    MEM_DONT_USE_ORIG_SIZE    Don't use the original size for tracing, but use
  266.  *                the modified size used by malloc.
  267.  *    MEM_TRACE_NOT_INIT    The trace records stored for MEM_STORE_TRACE
  268.  *                have not been initialized yet.
  269.  */
  270.  
  271. #define    MEM_PRINT_TRACE        0x1
  272. #define    MEM_STORE_TRACE        0x2
  273. #define    MEM_DONT_USE_ORIG_SIZE    0x4
  274. #define    MEM_TRACE_NOT_INIT    0x8
  275.  
  276. extern int    mem_SmallMinNum;
  277. extern int    mem_LargeMinNum;
  278. extern int    mem_LargeMaxSize;
  279.  
  280. /*
  281.  * Statistics counters;  only incremented when tracing is enabled.
  282.  */
  283.  
  284. extern int    mem_NumAllocs;
  285. extern int    mem_NumFrees;
  286.  
  287. /*
  288.  *----------------------------------------------------------------
  289.  * Additional integer math routines, plus structures for returning
  290.  * results from them:
  291.  *----------------------------------------------------------------
  292.  */
  293.  
  294. typedef struct div_t {
  295.     int quot;
  296.     int rem;
  297. } div_t;
  298.  
  299. typedef struct {
  300.     long int quot;
  301.     long int rem;
  302. } ldiv_t;
  303.  
  304. _EXTERN int    abs _ARGS_((int j));
  305. _EXTERN div_t    div _ARGS_((int numer, int denom));
  306. _EXTERN long int labs _ARGS_((long j));
  307. _EXTERN ldiv_t    ldiv _ARGS_((long int numer, long int denom));
  308.  
  309. /*
  310.  *-----------------------------------
  311.  * Miscellaneous additional routines:
  312.  *-----------------------------------
  313.  */
  314.  
  315. _EXTERN void    abort _ARGS_((void));
  316. _EXTERN int    atexit _ARGS_((void (*func)(void)));
  317. _EXTERN _VoidPtr bsearch _ARGS_((_CONST _VoidPtr key, _CONST _VoidPtr base,
  318.         size_t n, size_t size,
  319.     int (*cmp)(_CONST _VoidPtr searchKey, _CONST _VoidPtr tableEntry)));
  320. _EXTERN int    exit _ARGS_((int status));
  321. _EXTERN char *    getenv _ARGS_((char *name));
  322. _EXTERN void    qsort _ARGS_((_VoidPtr base, int n, int size,
  323.       int (*compar)(_CONST _VoidPtr element1, _CONST _VoidPtr element2)));
  324. _EXTERN int    rand _ARGS_((void));
  325. _EXTERN long    random _ARGS_((void));
  326. _EXTERN int    srand _ARGS_((int seed));
  327. _EXTERN int    srandom _ARGS_((int seed));
  328. _EXTERN int    system _ARGS_((_CONST char *command));
  329.  
  330. #endif /* _STDLIB */
  331. @
  332.  
  333.  
  334. 1.20
  335. log
  336. @Removed declaration of alloca.  It belongs in alloca.h and breaks stuff if
  337. it is defined differently here.
  338. @
  339. text
  340. @d16 1
  341. a16 1
  342.  * $Header: /sprite/src/lib/include/RCS/stdlib.h,v 1.19 91/09/24 17:38:46 rab Exp Locker: rab $ SPRITE (Berkeley)
  343. a197 1
  344. _EXTERN void    setenv _ARGS_((_CONST char *name, _CONST char *value));
  345. @
  346.  
  347.  
  348. 1.19
  349. log
  350. @Changed _free from int to void.
  351. @
  352. text
  353. @d16 1
  354. a16 1
  355.  * $Header: /sprite/src/lib/include/RCS/stdlib.h,v 1.18 90/11/27 11:24:17 ouster Exp Locker: rab $ SPRITE (Berkeley)
  356. a101 1
  357. _EXTERN _VoidPtr    alloca _ARGS_((int size));
  358. @
  359.  
  360.  
  361. 1.18
  362. log
  363. @Don't define size_t unless prototypes are enabled.
  364. @
  365. text
  366. @d16 1
  367. a16 1
  368.  * $Header: /sprite/src/lib/include/RCS/stdlib.h,v 1.17 90/11/15 13:22:21 rab Exp Locker: ouster $ SPRITE (Berkeley)
  369. d81 1
  370. a81 1
  371. _EXTERN int    _free _ARGS_((Address blockPtr));
  372. @
  373.  
  374.  
  375. 1.18.1.1
  376. log
  377. @Initial branch for Sprite server.
  378. @
  379. text
  380. @d16 1
  381. a16 1
  382.  * $Header: /sprite/src/lib/include/RCS/stdlib.h,v 1.18 90/11/27 11:24:17 ouster Exp $ SPRITE (Berkeley)
  383. @
  384.  
  385.  
  386. 1.17
  387. log
  388. @Added typedef for size_t.
  389. @
  390. text
  391. @d16 1
  392. a16 1
  393.  * $Header: /sprite/src/lib/include/RCS/stdlib.h,v 1.16 90/11/06 17:21:08 rab Exp Locker: rab $ SPRITE (Berkeley)
  394. d41 1
  395. a41 1
  396. #ifndef _SIZE_T
  397. @
  398.  
  399.  
  400. 1.16
  401. log
  402. @Changed extern to _EXTERN for g++.
  403. @
  404. text
  405. @d16 1
  406. a16 1
  407.  * $Header: /sprite/src/lib/include/RCS/stdlib.h,v 1.15 90/09/20 15:04:17 mgbaker Exp Locker: rab $ SPRITE (Berkeley)
  408. d40 6
  409. @
  410.  
  411.  
  412. 1.15
  413. log
  414. @Fixed a proto type problem that unleashes a bug in cproto.
  415. @
  416. text
  417. @d16 1
  418. a16 1
  419.  * $Header: /sprite/src/lib/include/RCS/stdlib.h,v 1.14 90/09/12 15:24:45 shirriff Exp Locker: mgbaker $ SPRITE (Berkeley)
  420. d47 7
  421. a53 7
  422. extern double    atof _ARGS_((char *string));
  423. extern int    atoi _ARGS_((char *string));
  424. extern long int    atol _ARGS_((char *string));
  425. extern double    strtod _ARGS_((char *string, char **endPtr));
  426. extern long int    strtol _ARGS_((char *string, char **endPtr, int base));
  427. extern unsigned long int
  428.         strtoul _ARGS_((char *string, char **endPtr, int base));
  429. d68 1
  430. a68 1
  431. extern Address    malloc _ARGS_((unsigned int bytesNeeded));
  432. d75 1
  433. a75 1
  434. extern int    _free _ARGS_((Address blockPtr));
  435. d85 1
  436. a85 1
  437. extern int    free _ARGS_((Address blockPtr));
  438. d91 2
  439. a92 2
  440. extern char *    malloc _ARGS_((unsigned int bytesNeeded));
  441. extern int    free _ARGS_((char *blockPtr));
  442. d96 10
  443. a105 10
  444. extern char *     alloca _ARGS_((int size));
  445. extern char *     calloc _ARGS_((unsigned int numElems, unsigned int elemSize));
  446. extern char *    realloc _ARGS_((Address ptr, unsigned int newSize));
  447. extern void    Mem_Bin _ARGS_((int numBytes));
  448. extern char *    Mem_CallerPC();
  449. extern void    Mem_DumpTrace _ARGS_((int blockSize));
  450. extern void    Mem_PrintConfig _ARGS_((void));
  451. extern void    Mem_PrintInUse _ARGS_((void));
  452. extern void    Mem_PrintStats _ARGS_((void));
  453. extern void    Mem_PrintStatsInt _ARGS_((void));
  454. d110 2
  455. a111 2
  456. extern void    Mem_SetPrintProc _ARGS_((void (*proc)(), ClientData data));
  457. extern int    Mem_Size _ARGS_((Address blockPtr));
  458. d122 1
  459. a122 1
  460. extern void    Mem_SetTraceSizes _ARGS_((int numSizes,
  461. d171 4
  462. a174 4
  463. extern int    abs _ARGS_((int j));
  464. extern div_t    div _ARGS_((int numer, int denom));
  465. extern long int    labs _ARGS_((long j));
  466. extern ldiv_t    ldiv _ARGS_((long int numer, long int denom));
  467. d182 15
  468. a196 14
  469. extern void    abort _ARGS_((void));
  470. extern int    atexit _ARGS_((void (*func)(void)));
  471. extern char *    bsearch _ARGS_((char * key, char * base, size_t n,
  472.       size_t size, int (*cmp)(Address searchKey, Address tableEntry)));
  473. extern int    exit _ARGS_((int status));
  474. extern char *    getenv _ARGS_((char *name));
  475. extern void    qsort _ARGS_((char *base, int n, int size,
  476.       int (*compar)(Address element1, Address element2)));
  477. extern int    rand _ARGS_((void));
  478. extern long    random _ARGS_((void));
  479. extern void    setenv _ARGS_((char *name, char *value));
  480. extern int    srand _ARGS_((int seed));
  481. extern int    srandom _ARGS_((int seed));
  482. extern int    system _ARGS_((char *command));
  483. @
  484.  
  485.  
  486. 1.14
  487. log
  488. @Fixed declaration of Mem_SetPrintProc to match code.
  489. @
  490. text
  491. @d16 1
  492. a16 1
  493.  * $Header: /sprite/src/lib/include/RCS/stdlib.h,v 1.13 90/09/11 14:40:09 kupfer Exp Locker: shirriff $ SPRITE (Berkeley)
  494. d185 1
  495. a185 1
  496.                 size_t size, int (*cmp)(Address, Address)));
  497. d189 1
  498. a189 1
  499.                   int (*compar)(Address, Address)));
  500. @
  501.  
  502.  
  503. 1.13
  504. log
  505. @Use function prototypes.
  506. @
  507. text
  508. @d16 1
  509. a16 1
  510.  * $Header: /sprite/src/lib/include/RCS/stdlib.h,v 1.12 90/01/06 13:45:29 rab Exp Locker: kupfer $ SPRITE (Berkeley)
  511. d110 1
  512. a110 1
  513. extern void    Mem_SetPrintProc _ARGS_((int (*proc)(), ClientData data));
  514. @
  515.  
  516.  
  517. 1.12
  518. log
  519. @Added define for EXIT_SUCCESS and EXIT_FAILURE.
  520. @
  521. text
  522. @d16 1
  523. a16 1
  524.  * $Header: /sprite/src/lib/include/RCS/stdlib.h,v 1.11 89/07/11 17:26:56 nelson Exp Locker: rab $ SPRITE (Berkeley)
  525. d22 16
  526. d47 7
  527. a53 6
  528. extern double        atof();
  529. extern int        atoi();
  530. extern long int        atol();
  531. extern double        strtod();
  532. extern long int        strtol();
  533. extern unsigned long    strtoul();
  534. d61 11
  535. a71 17
  536. extern char *    alloca();
  537. extern char *    calloc();
  538. extern char *    malloc();
  539. extern char *    realloc();
  540. extern void    Mem_Bin();
  541. extern char *    Mem_CallerPC();
  542. extern void    Mem_DumpTrace();
  543. extern void    Mem_PrintConfig();
  544. extern void    Mem_PrintInUse();
  545. extern void    Mem_PrintStats();
  546. extern void    Mem_PrintStatsInt();
  547. extern void    Mem_SetPrintProc();
  548. extern void    Mem_SetTraceSizes();
  549. extern int    Mem_Size();
  550.  
  551. /*
  552.  * The mips compiler cannot handle some coercions on the left hand side
  553. d73 1
  554. a73 2
  555. #if defined(KERNEL) && !defined(mips)
  556. extern         _free();
  557. d75 2
  558. d80 1
  559. a80 1
  560. #define        free(ptr) {_free(ptr); (ptr) = (char *) NIL; }
  561. d83 11
  562. a93 2
  563. #else
  564. extern        free();
  565. d96 17
  566. d122 2
  567. d171 4
  568. a174 4
  569. extern int    abs();
  570. extern div_t    div();
  571. extern long int    labs();
  572. extern ldiv_t    ldiv();
  573. d182 14
  574. a195 12
  575. extern void    abort();
  576. extern int    atexit();
  577. extern char *   bsearch();
  578. extern         exit();
  579. extern char *    getenv();
  580. extern void    qsort();
  581. extern int    rand();
  582. extern long    random();
  583. extern void    setenv();
  584. extern         srand();
  585. extern        srandom();
  586. extern int    system();
  587. @
  588.  
  589.  
  590. 1.11
  591. log
  592. @Added ifdef mips for free call.
  593. @
  594. text
  595. @d16 1
  596. a16 1
  597.  * $Header: /sprite/src/lib/include/RCS/stdlib.h,v 1.10 89/04/06 10:08:11 rab Exp $ SPRITE (Berkeley)
  598. d21 3
  599. @
  600.  
  601.  
  602. 1.10
  603. log
  604. @*** empty log message ***
  605. @
  606. text
  607. @d16 1
  608. a16 1
  609.  * $Header: /sprite/src/lib/include/RCS/stdlib.h,v 1.9 89/03/27 22:23:08 jhh Exp Locker: rab $ SPRITE (Berkeley)
  610. d56 4
  611. a59 2
  612.  
  613. #ifdef KERNEL
  614. @
  615.  
  616.  
  617. 1.9
  618. log
  619. @added macro def of free() to set pointer to NIL
  620. @
  621. text
  622. @d16 1
  623. a16 1
  624.  * $Header: /sprite/src/lib/include/RCS/stdlib.h,v 1.8 88/07/28 12:00:40 ouster Exp Locker: jhh $ SPRITE (Berkeley)
  625. d139 1
  626. d150 1
  627. a150 1
  628. #endif _STDLIB
  629. @
  630.  
  631.  
  632. 1.8
  633. log
  634. @Declare procedures to match UNIX.
  635. @
  636. text
  637. @d16 1
  638. a16 1
  639.  * $Header: stdlib.h,v 1.7 88/07/25 14:17:55 ouster Exp $ SPRITE (Berkeley)
  640. a43 1
  641. extern         free();
  642. d55 14
  643. @
  644.  
  645.  
  646. 1.7
  647. log
  648. @Return type for strtol was wrong.
  649. @
  650. text
  651. @d16 1
  652. a16 1
  653.  * $Header: stdlib.h,v 1.6 88/07/25 13:07:59 ouster Exp $ SPRITE (Berkeley)
  654. d130 1
  655. d132 2
  656. a133 1
  657. extern void    srand();
  658. @
  659.  
  660.  
  661. 1.6
  662. log
  663. @Use UNIX return value for exit().
  664. @
  665. text
  666. @d16 1
  667. a16 1
  668.  * $Header: stdlib.h,v 1.5 88/07/25 11:06:56 ouster Exp $ SPRITE (Berkeley)
  669. d32 1
  670. a32 1
  671. extern int        strtol();
  672. @
  673.  
  674.  
  675. 1.5
  676. log
  677. @Add declaration for strtoul.
  678. @
  679. text
  680. @d16 1
  681. a16 1
  682.  * $Header: stdlib.h,v 1.4 88/07/25 10:48:39 ouster Exp $ SPRITE (Berkeley)
  683. d126 1
  684. a126 1
  685. extern void    exit();
  686. @
  687.  
  688.  
  689. 1.4
  690. log
  691. @Change free return type to match UNIX.
  692. @
  693. text
  694. @d16 1
  695. a16 1
  696.  * $Header: stdlib.h,v 1.3 88/07/22 15:40:01 ouster Exp $ SPRITE (Berkeley)
  697. d28 6
  698. a33 5
  699. extern double    atof();
  700. extern int    atoi();
  701. extern long int    atol();
  702. extern double    strtod();
  703. extern int    strtol();
  704. @
  705.  
  706.  
  707. 1.3
  708. log
  709. @Exterminate Mem_Alloc usage.
  710. @
  711. text
  712. @d16 1
  713. a16 1
  714.  * $Header: stdlib.h,v 1.2 88/07/18 11:07:30 ouster Exp $ SPRITE (Berkeley)
  715. d43 1
  716. a43 1
  717. extern void    free();
  718. @
  719.  
  720.  
  721. 1.2
  722. log
  723. @Declare alloca.
  724. @
  725. text
  726. @d16 1
  727. a16 1
  728.  * $Header: stdlib.h,v 1.1 88/06/21 09:36:58 ouster Exp $ SPRITE (Berkeley)
  729. d74 1
  730. a74 1
  731.  *                the modified size used by Mem_Alloc.
  732. @
  733.  
  734.  
  735. 1.1
  736. log
  737. @Initial revision
  738. @
  739. text
  740. @d16 1
  741. a16 1
  742.  * $Header: stdlib.h,v 1.4 88/05/21 15:39:34 ouster Exp $ SPRITE (Berkeley)
  743. d40 1
  744. @
  745.